package cn.abellflower.http;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

/**
 * 请求方式枚举
 *
 * @author gbzdyf@126.com
 * @create 2018-07-19 19:33
 **/
public enum ReqModeEnum {
    /**
     * get 请求
     */
    GET("GET", "GET请求"),
    /**
     * post请求
     */
    POST("GET", "GET请求"),

    /**
     * put请求
     */
    PUT("PUT", "PUT请求"),

    /**
     * head
     */
    HEAD("HEAD", "HEAD请求");

    /**
     * 请求方式 key
     */
    private String reqMode;

    /**
     * 请求方式描述
     */
    private String desc;

    /**
     * 封装信息
     */
    private static final Map<String, String> VALUE_MAP;

    ReqModeEnum(String reqMode, String desc) {
        this.reqMode = reqMode;
        this.desc = desc;
    }

    static {
        HashMap<String, String> value = new HashMap<>(2);
        for (ReqModeEnum reqModeEnum : ReqModeEnum.values()) {
            value.put(reqModeEnum.reqMode, reqModeEnum.desc);
        }
        VALUE_MAP = Collections.unmodifiableMap(value);
    }

    /**
     * 根据key 获取描述信息
     * @param key
     * @return
     */
    public String getDescriptionByKey(String key) {
        return VALUE_MAP.get(key);
    }

    /**
     * 获取请求方式
     * @return
     */
    public String getReqMode() {
        return reqMode;
    }
}
